One approach to LaTeX spell checking is to put all the commands
into the dictionary. This yields limited success because it does not
specify what should be done with the arguments of the commands. For
example, the \label
command has an argument that should always
be ignored. On the other hand, the \section
command has an
argument that should always be spell checked. To complicate things
more, there are commands such as \addtocontents
that have one
argument that should be ignored, and another that should be spell
checked.
Excalibur does not put LaTeX commands into its dictionary. Instead, it knows how to process each command intelligently. It knows which arguments to ignore and which it should spell check. As a result, Excalibur is a LaTeX spelling checker that does a very good job.